package rh;


/*
 * Esse arquivo é parte do Software new Recicle
 * 
 * Copyright (C) 2011-$AnoCorrente$ Eduardo Moreira Barbosa
 * Copyright (C) 2011-$AnoCorrente$ João dos Santos Gonçalves
 * Copyright (C) 2011-$AnoCorrente$ Lucas Ximenes da Fonseca
 * 
 * new Recicle é um Software Livre: Você pode redistribuí-lo e/ou modificá-lo
 * de acordo com os termos da Licença Pública Geral GNU (GNU General Public License)
 * conforme publicada pela Free Software Foundation (FSF). Essa permissão é atribuída
 * na versão 3 da Licença, ou (na sua opinião) qualquer versão.
 * 
 * Você deve ter recebido uma cópia da Licença Pública Geral GNU junto com este programa,
 * se não, escreva para a Fundação do Software Livre(FSF) Inc., 51 Franklin St, Fifth Floor,
 * Boston, MA  02110-1301  USA
 * 
 * Se você tiver alguma dúvida e/ou quiser dar suporte ao desenvolvimento, favor entrar em
 * contato nos e-mails <barbosa.edrd@gmail.com>, <john.jsg@hotmail.com>, <lxf.lucas@gmail.com>.
 */

import outros.Cpf;



public abstract class Pessoa {
    private String nome;
    private String senha;
    private String sexo;
    private String cpf;
    private String imagem;

    public Pessoa(){

    }

    public Pessoa(String nome, String senha, String sexo) {

            this.nome = nome;
            this.senha = senha;
            this.sexo = sexo;	

    }

    public Pessoa(String nome, String senha, String cpf, String sexo) {

            this.nome = nome;
            this.senha = senha;
            this.cpf = cpf;
            this.sexo = sexo;	

    }

    public String getNome() {
            return nome;
    }
    public void setNome(String nome) {
            this.nome = nome;
    }
    public String getSenha() {
            return senha;
    }
    public void setSenha(String senha) {
            this.senha = senha;
    }
    public String getSexo() {
            return sexo;
    }
    public void setSexo(String sexo) {
            this.sexo = sexo;
    }
    public String getCpf() {
            return cpf;

    }
    public void setCpf(String cpf) {
            if(verificaCpf(cpf)==true){
                    this.cpf = cpf;
            }
    }

    
    public boolean verificaCpf(String digitos){
            try{
                    if(Cpf.calculaCpf(digitos)==true){
                            return true;
                    } else {
                            return false;
                    }
            }catch (StringIndexOutOfBoundsException stringIndexOutOfBoundsException){
                    return false;
            }
    }

    public String getImagem() {
        return imagem;
    }

    public void setImagem(String imagem) {
        this.imagem = imagem;
    }

    @Override
    public String toString() {
            return "Nome: " + getNome() + "\nCPF: " + getCpf() + "\nSexo: " + getSexo() + "\n";
    }	
}